package 作业.Check;

import java.util.ArrayList;

/**
 * 请定义方法找出集合中所有姓张的人并且年龄大于18岁的并全部返回，然后在main方法中输出返回的人；
 * 集合原始数据有:张三,22李四,26张翠山,38赵六,19张三丰,103张无忌,17赵敏16
 * 要求:
 * 集合中的人需要以对象的形式存在，人只要有姓名和年龄两个成员变量即可；
 * 注意：仔细思考一下自定义的方法要不要设计参数和返回值：
 * 效果:
 * [Student{name='张三'，age=22},Student{name='张翠山',age=38},Student{name='张三半'，age=103}]
 */
public class Test {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student("张三", 22));
        list.add(new Student("李四", 26));
        list.add(new Student("张翠山", 38));
        list.add(new Student("赵六", 19));
        list.add(new Student("张三丰", 103));
        list.add(new Student("张无忌", 17));
        list.add(new Student("赵敏", 16));
        ArrayList<Student> list1 = find(list);
        System.out.println(list1);
    }

    public static ArrayList<Student> find(ArrayList<Student> list) {
        ArrayList<Student> result = new ArrayList<>();
        for (Student student : list) {
            if (student.getName().matches("张.*") && student.getAge() > 18) {
                result.add(student);
            }
        }
        return result;
    }
}

